1. Field of the Invention
The present invention relates, in general, to grid computing systems and environments, and, more particularly, a servlet-based method and corresponding system for processing requests to grid resources and managing access to grid resources and transmission of resource inputs and outputs in a lightweight manner that is not specific to a particular grid implementation or programming language.
2. Relevant Background
In the computer industry, grid computing is growing in popularity to address the growing demands for on demand processing power and capability. Grid computing is a form of distributed computing in which computing resources are shared by numerous users and in many cases, the computing resources are shared across networks and across a diverse geographic area. Grid computing facilitates selection, aggregation, and sharing of computing resources resident in multiple administrative domains and across geographic areas. The sharing may be based upon availability, capability, and cost of the resources available in a grid as well as on a user's quality of service requirements and users functional demands.
If managed properly, grid computing can result in reduced cost of ownership, aggregated and improved efficiency of computing, data, and storage resources, and enablement of virtual organizations for applications and data sharing. For example, in a grid computing environment, all of the disparate computers and systems in an organization or among organizations can be organized and managed as a grid to become one large, integrated computing system. That single integrated system can then handle problems and processes too large and intensive for any single computer of the organization or organizations to easily handle in an efficient manner.
While providing many advantages, grid computing is not being used optimally and continues to challenge the computing industry. Implementation and administration of grid-based computing is often difficult and cumbersome. Further, few standards have been implemented for grid computing and many of the implementation and administration environments or technologies are proprietary to a particular company, such as a software or hardware development company. Another problem with grid computing is that programmers wishing to use grid resources usually need to learn some additional, grid-specific software programming language to take full advantage of the grid implementation. To make matters worse, the programmer may have to contort or modify their program or programs in an undesirable manner to use the grid resources. The programmer may also be forced to segment their data to effectively use the resources which may create a difficult task of processing the split data that is returned from the grid resources. Additional frustrations are caused when the grid environment includes firewalls or HTTP proxy servers that can make it hard to establish direct connections between user devices and grid resources, such as grid-available client programs or services.
As a result of these problems or limitations with present grid computing environments, there remains a need for an improved grid computing environments that enhance the ability of users and programmers to access and effectively use resources in a grid. Preferably such a method, and related systems, would utilize non-proprietary technologies and programming languages and standard data transfer and communication protocols.